#!/usr/bin/python
# -*- coding: UTF-8 -*-

from MiniBotControlLib import MiniBotControlLib


# ------------------------------
# 	1、连接设备 Connect
#   2.24、设置外部设备参数 SetSensorData
# 	6、断开设备 Disconnect
# ------------------------------

# 声明控制库对象
mlib = MiniBotControlLib("udp")


# *************************
#   1、连接设备
#*************************#
ip = "192.168.1.193"  # "10.10.200.254"
r = mlib.Connect(ip, 8899)
# 带超时的连接方式
#r = mlib.Connect(ip,8899,2000)
if(r > 0):
    print("连接成功")
else:
    print("连接失败")


# *************************
#   2.24、设置外部设备参数
#*************************#
# 点阵显示
data = [0x10, 0x18, 0x14, 0x10, 0x10, 0x10, 0x10, 0xFE]
#
# demo此处使用的8*8点阵作为演示，查阅手册可知，8*8点阵的id值为十进制的3，I/O端口为十六进制的0x01;
#  8*8点阵共有8行，因此需要创建长度为8的数组，dataLen相应地赋值为8;
#  demo中显示的效果为数字1，以1表示LED亮，0表示LED灭可以得到如下结果：
# 	0 0 0 0 1 0 0 0
#    0 0 0 1 1 0 0 0
#    0 0 1 0 1 0 0 0
#    0 0 0 0 1 0 0 0
#    0 0 0 0 1 0 0 0
#    0 0 0 0 1 0 0 0
#    0 0 0 0 1 0 0 0
#    0 1 1 1 1 1 1 1
#  由于传输时先传低4位，后传高4位，故每一行转换为16进制数时应为:0x10,0x18,0x14,0x10,0x10,0x10,0x10,0xFE;
# 根据协议，赋8个16进制的数给unsigned char类型
#

# 写入数据
r = mlib.SetSensorData(3, 0x01, data)
if(r > 0):
    print("设置成功")
else:
    print("设置失败")


# *************************
# 	3、断开设备
# *************************
input("输入任意字符回车，断开连接")
r = mlib.Disconnect()
if(r > 0):
    print("断开成功")
else:
    print("断开失败")
